Termination w.r.t. Q of the following Term Rewriting System could be proven:

Q restricted rewrite system:
The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

Q is empty.


QTRS
  ↳ Overlay + Local Confluence

Q restricted rewrite system:
The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

Q is empty.

The TRS is overlay and locally confluent. By [19] we can switch to innermost.

↳ QTRS
  ↳ Overlay + Local Confluence
QTRS
      ↳ DependencyPairsProof

Q restricted rewrite system:
The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))


Using Dependency Pairs [1,15] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:

APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, f), app(app(cons, h), t)) → APP(app(map_1, f), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(f, g)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(cons, app(app(f, h), c))
APP(app(map_1, f), app(app(cons, h), t)) → APP(app(cons, app(f, h)), app(app(map_1, f), t))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(cons, app(app(app(f, g), h), c))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(map_1, f), app(app(cons, h), t)) → APP(cons, app(f, h))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
QDP
          ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, f), app(app(cons, h), t)) → APP(app(map_1, f), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))
APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(f, g)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(cons, app(app(f, h), c))
APP(app(map_1, f), app(app(cons, h), t)) → APP(app(cons, app(f, h)), app(app(map_1, f), t))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(cons, app(app(app(f, g), h), c))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(map_1, f), app(app(cons, h), t)) → APP(cons, app(f, h))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 7 less nodes.

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
QDP
              ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(map_1, f), app(app(cons, h), t)) → APP(app(map_1, f), t)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(map_1, f), app(app(cons, h), t)) → APP(app(map_1, f), t) we obtained the following new rules:

APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
QDP
                  ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(map_1, f), app(app(cons, h), t)) → APP(f, h) we obtained the following new rules:

APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
QDP
                      ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c)
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(f, h), c) we obtained the following new rules:

APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
QDP
                          ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(f, h) we obtained the following new rules:

APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
QDP
                              ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t)
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(app(map_2, f), c), app(app(cons, h), t)) → APP(app(app(map_2, f), c), t) we obtained the following new rules:

APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
QDP
                                  ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c)
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(f, g), h), c) we obtained the following new rules:

APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
QDP
                                      ↳ UsableRulesProof

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))

The TRS R consists of the following rules:

app(app(map_1, f), app(app(cons, h), t)) → app(app(cons, app(f, h)), app(app(map_1, f), t))
app(app(app(map_2, f), c), app(app(cons, h), t)) → app(app(cons, app(app(f, h), c)), app(app(app(map_2, f), c), t))
app(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → app(app(cons, app(app(app(f, g), h), c)), app(app(app(app(map_3, f), g), c), t))

The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [15] we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
                                    ↳ QDP
                                      ↳ UsableRulesProof
QDP
                                          ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h)
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))

R is empty.
The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(f, g), h) we obtained the following new rules:

APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
                                    ↳ QDP
                                      ↳ UsableRulesProof
                                        ↳ QDP
                                          ↳ ForwardInstantiation
QDP
                                              ↳ ForwardInstantiation

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t)
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))

R is empty.
The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
By forward instantiating [14] the rule APP(app(app(app(map_3, f), g), c), app(app(cons, h), t)) → APP(app(app(app(map_3, f), g), c), t) we obtained the following new rules:

APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, x0), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
                                    ↳ QDP
                                      ↳ UsableRulesProof
                                        ↳ QDP
                                          ↳ ForwardInstantiation
                                            ↳ QDP
                                              ↳ ForwardInstantiation
QDP
                                                  ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, x0), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, y_2), y_3))

R is empty.
The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), y_2))
APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), x2)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x2)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
The remaining pairs can at least be oriented weakly.

APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, x0), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, y_2), y_3))
Used ordering: Polynomial interpretation with max and min functions [25]:

POL(APP(x1, x2)) = x1 + x2   
POL(app(x1, x2)) = x1 + x2   
POL(cons) = 0   
POL(g) = 0   
POL(map_1) = 1   
POL(map_2) = 0   
POL(map_3) = 0   

The following usable rules [17] were oriented: none



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
                                    ↳ QDP
                                      ↳ UsableRulesProof
                                        ↳ QDP
                                          ↳ ForwardInstantiation
                                            ↳ QDP
                                              ↳ ForwardInstantiation
                                                ↳ QDP
                                                  ↳ QDPOrderProof
QDP
                                                      ↳ DependencyGraphProof

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), y_2)), y_3)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_0), g), y_1)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), x1)
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4)), x3)) → APP(app(map_1, app(map_1, y_0)), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(map_1, app(app(app(map_3, y_0), g), y_1)), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))
APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_0)), x3)) → APP(app(map_1, app(map_1, y_0)), x1)
APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_0), y_1)), x3)) → APP(app(map_1, app(app(map_2, y_0), y_1)), x1)
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, y_0), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), x3)) → APP(app(map_1, x2), x1)
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(map_1, g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, x0), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, y_2), y_3))

R is empty.
The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 2 SCCs with 10 less nodes.

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
                                    ↳ QDP
                                      ↳ UsableRulesProof
                                        ↳ QDP
                                          ↳ ForwardInstantiation
                                            ↳ QDP
                                              ↳ ForwardInstantiation
                                                ↳ QDP
                                                  ↳ QDPOrderProof
                                                    ↳ QDP
                                                      ↳ DependencyGraphProof
                                                        ↳ AND
QDP
                                                            ↳ ATransformationProof
                                                          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

APP(app(map_1, x0), app(app(cons, x1), app(app(cons, y_1), y_2))) → APP(app(map_1, x0), app(app(cons, y_1), y_2))

R is empty.
The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
We have applied the A-Transformation [17] to get from an applicative problem to a standard problem.

↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
                                    ↳ QDP
                                      ↳ UsableRulesProof
                                        ↳ QDP
                                          ↳ ForwardInstantiation
                                            ↳ QDP
                                              ↳ ForwardInstantiation
                                                ↳ QDP
                                                  ↳ QDPOrderProof
                                                    ↳ QDP
                                                      ↳ DependencyGraphProof
                                                        ↳ AND
                                                          ↳ QDP
                                                            ↳ ATransformationProof
QDP
                                                                ↳ QReductionProof
                                                          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

map_11(x0, cons(x1, cons(y_1, y_2))) → map_11(x0, cons(y_1, y_2))

R is empty.
The set Q consists of the following terms:

map_1(x0, cons(x1, x2))
map_2(x0, x1, cons(x2, x3))
map_3(x0, g, x1, cons(x2, x3))

We have to consider all minimal (P,Q,R)-chains.
We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.

map_1(x0, cons(x1, x2))
map_2(x0, x1, cons(x2, x3))
map_3(x0, g, x1, cons(x2, x3))



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
                                    ↳ QDP
                                      ↳ UsableRulesProof
                                        ↳ QDP
                                          ↳ ForwardInstantiation
                                            ↳ QDP
                                              ↳ ForwardInstantiation
                                                ↳ QDP
                                                  ↳ QDPOrderProof
                                                    ↳ QDP
                                                      ↳ DependencyGraphProof
                                                        ↳ AND
                                                          ↳ QDP
                                                            ↳ ATransformationProof
                                                              ↳ QDP
                                                                ↳ QReductionProof
QDP
                                                                    ↳ QDPSizeChangeProof
                                                          ↳ QDP

Q DP problem:
The TRS P consists of the following rules:

map_11(x0, cons(x1, cons(y_1, y_2))) → map_11(x0, cons(y_1, y_2))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the subterm criterion [20] together with the size-change analysis [32] we have proven that there are no infinite chains for this DP problem.

From the DPs we obtained the following set of size-change graphs:



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
                                    ↳ QDP
                                      ↳ UsableRulesProof
                                        ↳ QDP
                                          ↳ ForwardInstantiation
                                            ↳ QDP
                                              ↳ ForwardInstantiation
                                                ↳ QDP
                                                  ↳ QDPOrderProof
                                                    ↳ QDP
                                                      ↳ DependencyGraphProof
                                                        ↳ AND
                                                          ↳ QDP
QDP
                                                            ↳ QDPOrderProof

Q DP problem:
The TRS P consists of the following rules:

APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, x0), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, y_2), y_3))

R is empty.
The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3)))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), y_1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(app(map_2, y_1), y_2)), y_3))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(app(map_3, map_2), g), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, map_2), g), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(app(map_3, y_3), g), y_4)), y_5)), y_6))), y_7))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, y_0), y_1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(map_2, y_0)), x1), app(app(cons, x2), x3)) → APP(app(app(map_2, y_0), x2), x1)
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, app(app(map_3, y_0), g)), x1), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(app(map_3, y_0), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, y_0), g), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), y_3)), y_4))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), y_4))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(map_2, y_0)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), y_3))
APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(app(map_3, app(app(map_3, app(map_3, y_0)), g)), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(app(map_3, app(map_3, y_0)), g), g), app(app(cons, y_2), y_3))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), y_7))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, x0), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(map_2, x0), x1), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, y_1), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5)), y_6)), y_7))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(map_1, y_1)), y_2)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, app(app(map_3, y_0), g))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, app(app(map_3, y_0), g)), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), y_2)), y_3))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), y_3))
APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)), y_7))), y_8))
APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))) → APP(app(app(map_2, app(map_1, y_0)), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(map_2, y_2), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_3, y_0)), g), x1), app(app(cons, x2), x3)) → APP(app(app(app(map_3, y_0), g), x2), x1)
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), x3)) → APP(app(app(map_2, app(map_1, y_0)), g), app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, y_1), app(app(cons, y_2), y_3)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6)), x3)) → APP(app(app(map_2, app(map_1, app(app(map_2, y_0), y_1))), g), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), y_6))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(map_1, y_2)), y_3)), y_4)), y_5))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, x2), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(map_1, y_3)), y_4)), y_5))), y_6))
APP(app(app(map_2, app(app(map_2, map_1), y_0)), x1), app(app(cons, app(app(cons, app(app(map_2, y_1), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), y_0), app(app(cons, app(app(map_2, y_1), y_2)), y_3))
APP(app(app(app(map_3, map_1), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))) → APP(app(app(app(map_3, map_1), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, y_2), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(app(app(map_3, y_0), g), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), x3)) → APP(app(app(map_2, app(app(app(map_3, y_0), g), y_1)), g), app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6)))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(map_1, y_2)), y_3))), y_4))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))) → APP(app(app(app(map_3, app(map_2, app(map_1, app(app(map_2, y_0), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), y_8))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))) → APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, y_1), app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4))), y_5))
APP(app(app(app(map_3, app(map_2, app(map_2, y_0))), g), x1), app(app(cons, app(app(cons, y_2), y_3)), x3)) → APP(app(app(map_2, app(map_2, y_0)), g), app(app(cons, y_2), y_3))
APP(app(app(app(map_3, app(map_2, map_1)), g), x1), app(app(cons, app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3)), x3)) → APP(app(app(map_2, map_1), g), app(app(cons, app(app(app(map_3, y_1), g), y_2)), y_3))
APP(app(app(app(map_3, app(map_2, y_0)), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, y_3), y_4))), x3)) → APP(app(app(map_2, y_0), g), app(app(cons, y_2), app(app(cons, y_3), y_4)))
APP(app(app(app(map_3, app(map_2, app(map_1, app(map_1, y_0)))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(map_1, app(map_1, y_0))), g), app(app(cons, app(app(cons, app(app(cons, y_2), y_3)), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, map_1), y_0)), g), app(app(cons, app(app(cons, app(app(app(map_3, y_2), g), y_3)), y_4)), y_5))
APP(app(app(map_2, map_1), x1), app(app(cons, x2), app(app(cons, app(map_1, y_1)), y_2))) → APP(app(app(map_2, map_1), x1), app(app(cons, app(map_1, y_1)), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, app(map_2, y_0)), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), y_4)), y_5))) → APP(app(app(map_2, app(app(map_2, app(app(map_3, y_0), g)), y_1)), x1), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1)))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7))), x3)) → APP(app(app(map_2, app(map_1, app(app(app(map_3, y_0), g), y_1))), g), app(app(cons, y_3), app(app(cons, app(app(cons, app(app(cons, y_4), y_5)), y_6)), y_7)))
APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, map_1), y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, app(app(map_2, y_3), y_4)), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, y_3), app(app(cons, app(app(cons, y_4), y_5)), y_6))), y_7))
APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, x2), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))) → APP(app(app(app(map_3, app(map_2, app(map_1, y_0))), g), x1), app(app(cons, app(app(cons, y_2), app(app(cons, app(app(cons, y_3), app(app(cons, y_4), y_5))), y_6))), y_7))
APP(app(app(app(map_3, app(app(map_3, map_2), g)), g), x1), app(app(cons, app(app(cons, y_1), y_2)), x3)) → APP(app(app(app(map_3, map_2), g), g), app(app(cons, y_1), y_2))
APP(app(app(app(map_3, app(map_2, app(app(map_2, y_0), y_1))), g), x1), app(app(cons, app(app(cons, app(app(cons, y_3), y_4)), y_5)), x3)) → APP(app(app(map_2, app(app(map_2, y_0), y_1)), g), app(app(cons, app(app(cons, y_3), y_4)), y_5))
APP(app(app(app(map_3, x0), g), x1), app(app(cons, x2), app(app(cons, y_2), y_3))) → APP(app(app(app(map_3, x0), g), x1), app(app(cons, y_2), y_3))
The remaining pairs can at least be oriented weakly.
none
Used ordering: Polynomial interpretation with max and min functions [25]:

POL(APP(x1, x2)) = x1 + x2   
POL(app(x1, x2)) = x1 + x2   
POL(cons) = 1   
POL(g) = 1   
POL(map_1) = 0   
POL(map_2) = 1   
POL(map_3) = 1   

The following usable rules [17] were oriented: none



↳ QTRS
  ↳ Overlay + Local Confluence
    ↳ QTRS
      ↳ DependencyPairsProof
        ↳ QDP
          ↳ DependencyGraphProof
            ↳ QDP
              ↳ ForwardInstantiation
                ↳ QDP
                  ↳ ForwardInstantiation
                    ↳ QDP
                      ↳ ForwardInstantiation
                        ↳ QDP
                          ↳ ForwardInstantiation
                            ↳ QDP
                              ↳ ForwardInstantiation
                                ↳ QDP
                                  ↳ ForwardInstantiation
                                    ↳ QDP
                                      ↳ UsableRulesProof
                                        ↳ QDP
                                          ↳ ForwardInstantiation
                                            ↳ QDP
                                              ↳ ForwardInstantiation
                                                ↳ QDP
                                                  ↳ QDPOrderProof
                                                    ↳ QDP
                                                      ↳ DependencyGraphProof
                                                        ↳ AND
                                                          ↳ QDP
                                                          ↳ QDP
                                                            ↳ QDPOrderProof
QDP
                                                                ↳ PisEmptyProof

Q DP problem:
P is empty.
R is empty.
The set Q consists of the following terms:

app(app(map_1, x0), app(app(cons, x1), x2))
app(app(app(map_2, x0), x1), app(app(cons, x2), x3))
app(app(app(app(map_3, x0), g), x1), app(app(cons, x2), x3))

We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.